var express=require('express');
var app = express();
var contadores = new Array;
var puerto=process.argv[2]?process.argv[2]:8080;

app.get('/', function (req, res) {   
	res.send('<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Datos en HTML</title></head><body>Prueba con /contador/html o /contador/json</body></html>');
});

app.get('/contador/html', function (req, res) {   
	var htm='<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Datos en HTML</title></head><body>';
	for(var i in contadores){
	htm+='<p>Contador '+i+': '+contadores[i]+'</p>';
	}
	res.send(htm+'</body></html>');
});

app.get('/contador/json', function (req, res) { 
	var js="{"; 
	for (var j in contadores) {
		js+=j+": "+ contadores[j]+',';
	}
	js = js.substr(0, js.length-1) + ' }';
	res.send(js);
});

app.put('/contador/:id', function( req,res ) {
    contadores[req.params.id] = 0;
    res.send( { creado: req.params.id } );
});

app.post('/contador/incrementar/:id', function (req, res) {   
    contadores[req.params.id]++;
    res.send( "{ "+req.params.id+": "+ contadores[req.params.id] + "}"  );
});

app.post('/contador/crear/:id', function (req, res) {   
    contadores[req.params.id] = 0;
    res.send( { creado: req.params.id } );
});

app.get('/contador/suma/:ida/:idb', function(req,res){
	var sum=contadores[req.params.ida]+contadores[req.params.idb]
	res.send( "{ suma: "+ sum + "}"  );
});

app.listen(puerto);
console.log('Server running at http://127.0.0.1:'+puerto+'/');